#include <iostream>
#include <csignal>
#include <windows.h>
using namespace std;
void signalHandler(int signum){
    cout << "Interrupt signal (" << signum << ") received.\n";
    exit(signum);
}
int main(){
    /*  signal 函数的用法
        void (*signal(int sig, void(*func)(int)))(int);
        第一个参数作为表示信号编号的整数，第二个参数作为指向信号处理函数的指针
    */
    signal(SIGINT,signalHandler);
    int i = 0;
    while(++i){
        cout << "Going to sleep..." << endl;
        if(i == 3){
            // 函数raise()生成信号
            raise(SIGINT);
        }
        Sleep(1);
    }
    // while(1){
    //     cout << "Going to sleep ... "<< endl;
    //     Sleep(1);
    // }
    return 0;
}
